type: object
properties:
  type:
    description: 'the type of the resource'
    type: string
    enum:
      - MeshTimeout
  mesh:
    description: 'Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources.'
    type: string
    default: default
  name:
    description: 'Name of the Kuma resource'
    type: string
  spec:
    description: Spec is the specification of the Kuma MeshTimeout resource.
    properties:
      from:
        description: From list makes a match between clients and corresponding configurations
        items:
          properties:
            default:
              description: |-
                Default is a configuration specific to the group of clients referenced in
                'targetRef'
              properties:
                connectionTimeout:
                  description: |-
                    ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established.
                    Default value is 5 seconds. Cannot be set to 0.
                  type: string
                http:
                  description: Http provides configuration for HTTP specific timeouts
                  properties:
                    maxConnectionDuration:
                      description: |-
                        MaxConnectionDuration is the time after which a connection will be drained and/or closed,
                        starting from when it was first established. Setting this timeout to 0 will disable it.
                        Disabled by default.
                      type: string
                    maxStreamDuration:
                      description: |-
                        MaxStreamDuration is the maximum time that a stream’s lifetime will span.
                        Setting this timeout to 0 will disable it. Disabled by default.
                      type: string
                    requestHeadersTimeout:
                      description: |-
                        RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is
                        activated when the first byte of the headers is received, and is disarmed when the last byte of
                        the headers has been received. If not specified or set to 0, this timeout is disabled.
                        Disabled by default.
                      type: string
                    requestTimeout:
                      description: |-
                        RequestTimeout The amount of time that proxy will wait for the entire request to be received.
                        The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent,
                        OR when the response is initiated. Setting this timeout to 0 will disable it.
                        Default is 15s.
                      type: string
                    streamIdleTimeout:
                      description: |-
                        StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity.
                        Setting this timeout to 0 will disable it. Default is 30m
                      type: string
                  type: object
                idleTimeout:
                  description: |-
                    IdleTimeout is defined as the period in which there are no bytes sent or received on connection
                    Setting this timeout to 0 will disable it. Be cautious when disabling it because
                    it can lead to connection leaking. Default value is 1h.
                  type: string
              type: object
            targetRef:
              description: |-
                TargetRef is a reference to the resource that represents a group of
                clients.
              properties:
                kind:
                  description: Kind of the referenced resource
                  enum:
                    - Mesh
                    - MeshSubset
                    - MeshGateway
                    - MeshService
                    - MeshServiceSubset
                    - MeshHTTPRoute
                  type: string
                mesh:
                  description: Mesh is reserved for future use to identify cross mesh resources.
                  type: string
                name:
                  description: |-
                    Name of the referenced resource. Can only be used with kinds: `MeshService`,
                    `MeshServiceSubset` and `MeshGatewayRoute`
                  type: string
                proxyTypes:
                  description: |-
                    ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
                    all data plane types are targeted by the policy.
                  items:
                    enum:
                      - Sidecar
                      - Gateway
                    type: string
                  minItems: 1
                  type: array
                tags:
                  additionalProperties:
                    type: string
                  description: |-
                    Tags used to select a subset of proxies by tags. Can only be used with kinds
                    `MeshSubset` and `MeshServiceSubset`
                  type: object
              type: object
          required:
            - targetRef
          type: object
        type: array
      targetRef:
        description: |-
          TargetRef is a reference to the resource the policy takes an effect on.
          The resource could be either a real store object or virtual resource
          defined inplace.
        properties:
          kind:
            description: Kind of the referenced resource
            enum:
              - Mesh
              - MeshSubset
              - MeshGateway
              - MeshService
              - MeshServiceSubset
              - MeshHTTPRoute
            type: string
          mesh:
            description: Mesh is reserved for future use to identify cross mesh resources.
            type: string
          name:
            description: |-
              Name of the referenced resource. Can only be used with kinds: `MeshService`,
              `MeshServiceSubset` and `MeshGatewayRoute`
            type: string
          proxyTypes:
            description: |-
              ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
              all data plane types are targeted by the policy.
            items:
              enum:
                - Sidecar
                - Gateway
              type: string
            minItems: 1
            type: array
          tags:
            additionalProperties:
              type: string
            description: |-
              Tags used to select a subset of proxies by tags. Can only be used with kinds
              `MeshSubset` and `MeshServiceSubset`
            type: object
        type: object
      to:
        description: To list makes a match between the consumed services and corresponding configurations
        items:
          properties:
            default:
              description: |-
                Default is a configuration specific to the group of destinations referenced in
                'targetRef'
              properties:
                connectionTimeout:
                  description: |-
                    ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established.
                    Default value is 5 seconds. Cannot be set to 0.
                  type: string
                http:
                  description: Http provides configuration for HTTP specific timeouts
                  properties:
                    maxConnectionDuration:
                      description: |-
                        MaxConnectionDuration is the time after which a connection will be drained and/or closed,
                        starting from when it was first established. Setting this timeout to 0 will disable it.
                        Disabled by default.
                      type: string
                    maxStreamDuration:
                      description: |-
                        MaxStreamDuration is the maximum time that a stream’s lifetime will span.
                        Setting this timeout to 0 will disable it. Disabled by default.
                      type: string
                    requestHeadersTimeout:
                      description: |-
                        RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is
                        activated when the first byte of the headers is received, and is disarmed when the last byte of
                        the headers has been received. If not specified or set to 0, this timeout is disabled.
                        Disabled by default.
                      type: string
                    requestTimeout:
                      description: |-
                        RequestTimeout The amount of time that proxy will wait for the entire request to be received.
                        The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent,
                        OR when the response is initiated. Setting this timeout to 0 will disable it.
                        Default is 15s.
                      type: string
                    streamIdleTimeout:
                      description: |-
                        StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity.
                        Setting this timeout to 0 will disable it. Default is 30m
                      type: string
                  type: object
                idleTimeout:
                  description: |-
                    IdleTimeout is defined as the period in which there are no bytes sent or received on connection
                    Setting this timeout to 0 will disable it. Be cautious when disabling it because
                    it can lead to connection leaking. Default value is 1h.
                  type: string
              type: object
            targetRef:
              description: |-
                TargetRef is a reference to the resource that represents a group of
                destinations.
              properties:
                kind:
                  description: Kind of the referenced resource
                  enum:
                    - Mesh
                    - MeshSubset
                    - MeshGateway
                    - MeshService
                    - MeshServiceSubset
                    - MeshHTTPRoute
                  type: string
                mesh:
                  description: Mesh is reserved for future use to identify cross mesh resources.
                  type: string
                name:
                  description: |-
                    Name of the referenced resource. Can only be used with kinds: `MeshService`,
                    `MeshServiceSubset` and `MeshGatewayRoute`
                  type: string
                proxyTypes:
                  description: |-
                    ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
                    all data plane types are targeted by the policy.
                  items:
                    enum:
                      - Sidecar
                      - Gateway
                    type: string
                  minItems: 1
                  type: array
                tags:
                  additionalProperties:
                    type: string
                  description: |-
                    Tags used to select a subset of proxies by tags. Can only be used with kinds
                    `MeshSubset` and `MeshServiceSubset`
                  type: object
              type: object
          required:
            - targetRef
          type: object
        type: array
    required:
      - targetRef
    type: object
